package karaoke.negocio;

import java.util.Collection;
import java.util.List;

import karaoke.dao.EventoDAO;
import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.Local;
import karaoke.modelo.Cliente;
import karaoke.modelo.Evento;

public class GestionEvento {
	
	public Evento insertar(String nombre,String fecha, int capacidad, String descripcion,String estado, int local_idlocal, int cliente_idcliente)
			throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();

		Evento vo = new Evento();
		vo.setNombre(nombre);
		vo.setFecha(fecha);
		vo.setCapacidad(capacidad);
		vo.setDescripcion(descripcion);
		vo.setEstado(estado);
		Local local=new Local();
		local.setIdLocal(local_idlocal);
		vo.setLocal(local);
		
		Cliente cliente=new Cliente();
		cliente.setIdCliente(cliente_idcliente);
		vo.setCliente(cliente);
		
		//vo.getTipo().setIdtipo(idTipo);
		return dao.insertar(vo);
	}
	

	public List<Evento> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();
		return dao.buscarPorNombre(nombre);
	}



	public Evento obtener(int idevento) throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();
		return dao.obtener(idevento);
	}

	public void eliminar(int idevento) throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();
		dao.eliminar(idevento);
	}

	public Evento actualizar(int idevento, String nombre,String fecha, int capacidad, String descripcion, int local_idlocal, int cliente_idcliente) throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();

		Evento vo = new Evento();
		vo.setIdevento(idevento);
		vo.setNombre(nombre);
		vo.setFecha(fecha);
		vo.setCapacidad(capacidad);
		vo.setDescripcion(descripcion);
		
		Local local=new Local();
		System.out.println(local_idlocal);
		local.setIdLocal(local_idlocal);
		vo.setLocal(local);	

		Cliente cliente=new Cliente();
		System.out.println(cliente_idcliente);
		cliente.setIdCliente(cliente_idcliente);
		vo.setCliente(cliente);	
		
		return dao.actualizar(vo);
	}

	public Collection<Evento> listar() throws DAOExcepcion {
		EventoDAO dao = new EventoDAO();
		return dao.listar();
	}
}
